package com.yjs.controller;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.yjs.bean.PageBean;
import com.yjs.bean.Store;
import com.yjs.service.StoreService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author yjs
 * @create 2020-09-17-12:13
 *  仓储controller层
 */
@Controller
public class StoreController {

    //注入仓储service层
    @Autowired
    StoreService storeService;

    //查询所有的仓储分页
    @GetMapping("/stores")
    public String findAllByPages(Model model){
        String currentPage = "1";
        String rows="5";
        PageBean<Store> pbStore = storeService.findAllByPages(currentPage,rows);
        model.addAttribute("pbStore",pbStore);
        return "store/store";
    }

    //查询所有的仓储根据currentPage分页
    @GetMapping("/stores/{currentPage}")
    public String findAllByPage(@PathVariable("currentPage")String currentPage, Model model){
        if (currentPage == null || "".equals(currentPage)){
            currentPage="1";
        }
        String rows="5";
        PageBean<Store> pbStore = storeService.findAllByPages(currentPage,rows);
        model.addAttribute("pbStore",pbStore);
        return "store/store";
    }
    //跳转添加仓储页面
    @GetMapping("/store")
    public String toAddStore(){
        return "store/add";
    }

    //处理新增仓储
    @PostMapping("/store/add")
    public String addStore(Store store){
        System.out.println(store);
        storeService.addStore(store);
        return "redirect:/stores";
    }
    //处理删除仓储
    @DeleteMapping("/store/del/{sid}")
    public String delStore(@PathVariable("sid") String sid){
        Integer storeId = Integer.valueOf(sid);
        storeService.delStore(storeId);
        return "redirect:/stores";
    }

    //处理修改前查询仓储
    @GetMapping("/store/upd/{sid}")
    public String updStore(@PathVariable("sid") String sid,Model model){
        Integer storeId = Integer.valueOf(sid);
        Store oneStore = storeService.getOneStore(storeId);
        model.addAttribute("oneStore",oneStore);
        return "store/add";
    }
    //处理修改仓储
    @PutMapping("/store/add")
    public String updStore(Store store){
        storeService.updStore(store);
        return "redirect:/stores";
    }

}
